package com.shuma.product.pojo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 
 * @TableName goods_detail_info
 */
@TableName(value ="goods_detail_info")
@Data
public class DetailGoods implements Serializable {
    /**
     * 
     */
    @TableId
    private Long goodsDetailId;

    /**
     * 
     */
    private String goodsAvatar;

    /**
     * 
     */
    private String description;

    /**
     * 
     */
    private Integer goodsType;

    /**
     * 
     */
    private Integer goodsCategoryId;

    /**
     * 
     */
    private String goodsRich;

    /**
     * 
     */
    private String suppier;

    /**
     * 
     */
    private String suppierConnect;

    /**
     * 
     */
    private String serviceGuarante;

    /**
     * 
     */
    private Integer priceType;

    /**
     * 
     */
    private Integer integralPrice;

    /**
     * 
     */
    private Integer cashPrice;

    /**
     * 
     */
    private Integer limited;

    /**
     * 
     */
    private LocalDateTime createTime;

    /**
     * 
     */
    private LocalDateTime updateTime;

    /**
     * 
     */
    private String cityWhitlist;

    /**
     * 
     */
    private String cityBlacklist;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        DetailGoods other = (DetailGoods) that;
        return (this.getGoodsDetailId() == null ? other.getGoodsDetailId() == null : this.getGoodsDetailId().equals(other.getGoodsDetailId()))
            && (this.getGoodsAvatar() == null ? other.getGoodsAvatar() == null : this.getGoodsAvatar().equals(other.getGoodsAvatar()))
            && (this.getDescription() == null ? other.getDescription() == null : this.getDescription().equals(other.getDescription()))
            && (this.getGoodsType() == null ? other.getGoodsType() == null : this.getGoodsType().equals(other.getGoodsType()))
            && (this.getGoodsCategoryId() == null ? other.getGoodsCategoryId() == null : this.getGoodsCategoryId().equals(other.getGoodsCategoryId()))
            && (this.getGoodsRich() == null ? other.getGoodsRich() == null : this.getGoodsRich().equals(other.getGoodsRich()))
            && (this.getSuppier() == null ? other.getSuppier() == null : this.getSuppier().equals(other.getSuppier()))
            && (this.getSuppierConnect() == null ? other.getSuppierConnect() == null : this.getSuppierConnect().equals(other.getSuppierConnect()))
            && (this.getServiceGuarante() == null ? other.getServiceGuarante() == null : this.getServiceGuarante().equals(other.getServiceGuarante()))
            && (this.getPriceType() == null ? other.getPriceType() == null : this.getPriceType().equals(other.getPriceType()))
            && (this.getIntegralPrice() == null ? other.getIntegralPrice() == null : this.getIntegralPrice().equals(other.getIntegralPrice()))
            && (this.getCashPrice() == null ? other.getCashPrice() == null : this.getCashPrice().equals(other.getCashPrice()))
            && (this.getLimited() == null ? other.getLimited() == null : this.getLimited().equals(other.getLimited()))
            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
            && (this.getUpdateTime() == null ? other.getUpdateTime() == null : this.getUpdateTime().equals(other.getUpdateTime()))
            && (this.getCityWhitlist() == null ? other.getCityWhitlist() == null : this.getCityWhitlist().equals(other.getCityWhitlist()))
            && (this.getCityBlacklist() == null ? other.getCityBlacklist() == null : this.getCityBlacklist().equals(other.getCityBlacklist()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getGoodsDetailId() == null) ? 0 : getGoodsDetailId().hashCode());
        result = prime * result + ((getGoodsAvatar() == null) ? 0 : getGoodsAvatar().hashCode());
        result = prime * result + ((getDescription() == null) ? 0 : getDescription().hashCode());
        result = prime * result + ((getGoodsType() == null) ? 0 : getGoodsType().hashCode());
        result = prime * result + ((getGoodsCategoryId() == null) ? 0 : getGoodsCategoryId().hashCode());
        result = prime * result + ((getGoodsRich() == null) ? 0 : getGoodsRich().hashCode());
        result = prime * result + ((getSuppier() == null) ? 0 : getSuppier().hashCode());
        result = prime * result + ((getSuppierConnect() == null) ? 0 : getSuppierConnect().hashCode());
        result = prime * result + ((getServiceGuarante() == null) ? 0 : getServiceGuarante().hashCode());
        result = prime * result + ((getPriceType() == null) ? 0 : getPriceType().hashCode());
        result = prime * result + ((getIntegralPrice() == null) ? 0 : getIntegralPrice().hashCode());
        result = prime * result + ((getCashPrice() == null) ? 0 : getCashPrice().hashCode());
        result = prime * result + ((getLimited() == null) ? 0 : getLimited().hashCode());
        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
        result = prime * result + ((getUpdateTime() == null) ? 0 : getUpdateTime().hashCode());
        result = prime * result + ((getCityWhitlist() == null) ? 0 : getCityWhitlist().hashCode());
        result = prime * result + ((getCityBlacklist() == null) ? 0 : getCityBlacklist().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", goodsDetailId=").append(goodsDetailId);
        sb.append(", goodsAvatar=").append(goodsAvatar);
        sb.append(", description=").append(description);
        sb.append(", goodsType=").append(goodsType);
        sb.append(", goodsCategoryId=").append(goodsCategoryId);
        sb.append(", goodsRich=").append(goodsRich);
        sb.append(", suppier=").append(suppier);
        sb.append(", suppierConnect=").append(suppierConnect);
        sb.append(", serviceGuarante=").append(serviceGuarante);
        sb.append(", priceType=").append(priceType);
        sb.append(", integralPrice=").append(integralPrice);
        sb.append(", cashPrice=").append(cashPrice);
        sb.append(", limited=").append(limited);
        sb.append(", createTime=").append(createTime);
        sb.append(", updateTime=").append(updateTime);
        sb.append(", cityWhitlist=").append(cityWhitlist);
        sb.append(", cityBlacklist=").append(cityBlacklist);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}